const CompressionWebpackPlugin = require('compression-webpack-plugin');
const { transformElementScss } = require('ele-admin/lib/utils/dynamic-theme');

module.exports = {
  productionSourceMap: false,
  configureWebpack: {
    performance: {
      maxAssetSize: 2000000,
      maxEntrypointSize: 2000000
    }
  },
  configureWebpack: (config) => {
    config.externals = {
      qq: 'qq',
      TMap: 'TMap'
    };
  },
  chainWebpack(config) {
    config.plugins.delete('prefetch');
    if (process.env.NODE_ENV !== 'development') {
      // gzip 压缩
      config.plugin('compressionPlugin').use(
        new CompressionWebpackPlugin({
          test: /\.(js|css|html)$/,
          threshold: 10240
        })
      );
    }
  },
  css: {
    loaderOptions: {
      sass: {
        sassOptions: {
          outputStyle: 'expanded',
          importer: transformElementScss()
        }
      }
    }
  },

  //  proy
  devServer: {
    // 反向代理配置
    // proxy: {
    //   '/ws': {
    //     target: 'https://apis.map.qq.com/',
    //     ws: true,
    //     changOrigin: true, //允许跨域
    //     pathRewrite: {
    //       '^/ws': '/ws'
    //     },
    //     headers: {
    //       'Access-Control-Allow-Origin': '*'
    //     }
    //   }
    // }
    //     proxy: {
    //       '/javaAccredit': {
    //         //  /api表示拦截以/api开头的请求路径
    //         target: 'http://192.168.0.113/javaAccredit/', //跨域的域名
    //         changeOrigin: true, //是否开启跨域
    //         pathRewrite: {
    //           // 重写路径
    //           '^/javaAccredit': '' // 把/api变为空字符
    //         }
    //       }
    //     }
  }
};
